%%% PROGRAM ZEBRA %%%

% Vzorovy soubor databaze znalosti.
% Komentare zacinaji znakem % a program je pri nacitani souboru ignoruje.

% Pocet prvku (v dalsim textu jako 'pocet_prvku'):
pocet_prvku(5).


% Pocet vlastnosti (v dalsim textu jako 'pocet_vlastnosti'):
pocet_vlastnosti(5).


% Vlastnosti, jenz patri k sobe - musi byt zadany v nasledujicim formatu:
% patriksobe( poradi_prvku, [ 1.vlastnost, 2.vlastnost, ... ] ).
% 'poradi_prvku' je poradove cislo prvku (zleva) od 1 do 'pocet_prvku'.
% [ 1.vlastnost, 2.vlastnost, ... ] je seznam 'pocet_vlastnosti' polozek oddelenych carkou.
% Vsechny vlastnosti musi byt psany malymi pismeny!!!
% Misto nezname vlastnosti (nebo neznameho poradi prcku) je nutno napsat '_' (znak podtrzitko)!!!

% Priklady: (pro seznam vlastnosti typu [BarvaDomku, Narodnost, Zvire, Hra, Napoj])
% patriksobe(_, [cerveny, anglican, _, _, _] ).
% Anglican bydli v cervenem domku.
% patriksobe(_, [_, _, _, _, pivo] ).
% Nekdo pije pivo.

% Defaultni klauzule.
% Musi byt uvedena, pokud neni definovana zadna jina klauzule predikatu patriksobe/2!
patriksobe(_, [_, _, _, _, _] ).


% Vlastnosti prvku, ktere jsou v sousedkem vztahu vlevo/vpravo (vime, ktery je na ktere strane).
% Vlastnosti jsou definovany pomoci predikatu patriksobe/2 (viz vyse)

% Priklady:
% sousede( patriksobe(_,[_,sved,_,_,_]), patriksobe(_,[_,_,kone,_,_]) ).
% Sved bydli NALEVO od chovatele koni.
% sousede( patriksobe(3,[_,_,_,_,_]), patriksobe(_,[_,_,_,bridz,_]) ).
% NAPRAVO od prostredniho domku (vime, ze domku (prvku) je 5) bydli hrac bridze.
% Da se jednoduseji zapsat i jako 'patriksobe(4,[_,_,_,bridz,_])'.

% Defaultni klauzule.
% Musi byt uvedena, pokud neni definovana zadna jina klauzule predikatu sousede/2!
sousede( patriksobe(_,[_,_,_,_,_]), patriksobe(_,[_,_,_,_,_]) ).


% Vlastnosti prvku, ktere jsou v sousedkem vztahu vedle-sebe (nevime, ktery je na ktere strane).
% Vlastnosti jsou definovany pomoci predikatu patriksobe/2 (viz vyse)

% Priklady:
% vedlesebe( patriksobe(_,[_,_,_,monopoly,_]), patriksobe(,[zluty,_,_,_,_]) ).
% Hrac monopolu bydli vedle zluteho domku.

% Defaultni klauzule.
% Musi byt uvedena, pokud neni definovana zadna jina klauzule predikatu vedlesebe/2!
vedlesebe( patriksobe(_,[_,_,_,_,_]), patriksobe(_,[_,_,_,_,_]) ).
